home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / reqtool.lha / reqtool.s
Encoding:
Text File  |  1994-06-05  |  3.1 KB  |  171 lines

  1.     Section    Main,Code
  2.  
  3.     ;demo for using req-tools
  4.     ;by sharatt/LSD
  5.  
  6.     opt    c+
  7.     
  8.     IncDir    "dh0:Include/"
  9.     include    Intuition/intuition.I
  10.     Include    Intuition/Intuition_Lib.I
  11.     Include    Libraries/dos_LIb.i
  12.     Include    Libraries/Dos.i
  13.     Include    Utility/Reqtools.i
  14.     Include    Utility/Reqtools_lib.i
  15.     Include    Exec/Exec_Lib.I
  16.     Include    Exec/Exec.I
  17.  
  18.     ;Include    Misc/EasyStart.i    
  19.  
  20. CALLREQ    Macro
  21.     Move.l    _ReqBase,A6
  22.     Jsr    _LVOrt\1(a6)
  23.     Endm
  24.  
  25.     *-----------------------------------------------------------*
  26.     
  27. go:    Lea    DosName,A1        ; Open Dos Library
  28.     Moveq    #0,D0
  29.     CALLEXEC    OpenLibrary
  30.     Move.l     D0,_DOSBase
  31.     Beq    Error
  32.  
  33.     Lea    IntName,A1
  34.     Moveq    #0,D0
  35.     CALLEXEC    OpenLibrary
  36.     Move.l    D0,_IntuitionBase
  37.     Beq    CloseDos
  38.  
  39.     Lea    ReqName,A1        ; Open reqtools library
  40.     Moveq    #0,d0
  41.     CALLEXEC    OpenLibrary
  42.     Move.l    D0,_ReqBase
  43.     Beq    CloseInt
  44.     
  45.     Move.l    #RT_REQINFO,D0    ; Prepare requester for use
  46.     Move.l     #0,A0
  47.     CALLREQ    AllocRequestA
  48.     Move.l    D0,ReqInfoStructPtr
  49.  
  50.     Move.l    #RT_FILEREQ,D0
  51.     Move.l    #0,A0
  52.     CALLREQ    AllocRequestA
  53.     Move.l    D0,ReqFileStructPtr
  54.  
  55.     *-----------------------------------------------------------*
  56.  
  57.     move.l    ReqFileStructPtr,a1    ; filereq structure
  58.     Lea    FR_Filename,a2    ; filename
  59.     Lea    FR_Title,a3        ; title
  60.     lea    FReqTagList,A0    ; tag list
  61.     CALLREQ    FileRequestA    ; display file requester
  62.  
  63.     *-----------------------------------------------------------*
  64.  
  65.     Lea    AboutText,A1    ; Text for body
  66.     Lea    GadgetText,A2    ; ok gadgets
  67.     Lea    AboutValues,A4    ; value list for %ld
  68.     Move.l    ReqInfoStructPtr,A3
  69.     Lea    AboutTagList,A0    ; tag list
  70.     CALLREQ    EZRequestA        ; display requester
  71.     
  72.     *-----------------------------------------------------------*
  73.  
  74. Quit    Move.l    ReqInfoStructPtr,A1
  75.     CALLREQ    FreeRequest        ; Dealocate Requester 
  76.  
  77.     Move.l    ReqFileStructPtr,a1
  78.     CALLREQ    FreeRequest        ; Dealocate Requester 
  79.  
  80. CloseReq    Move.l    _ReqBase,A1
  81.     CALLEXEC    CloseLibrary    ; Close req library
  82.  
  83. CloseInt    Move.l    _IntuitionBase,A1
  84.     CALLEXEC    CloseLibrary
  85.  
  86.     
  87.  
  88. CloseDos    Move.l    _DOSBase,A1
  89.     CALLEXEC    CloseLibrary
  90.  
  91.     Moveq    #0,d0        ; no return code
  92.     Rts
  93.  
  94. Error    Moveq    #1,D0
  95.     Rts
  96.  
  97.     *-----------------------------------------------------------*
  98.  
  99. AboutText    dc.b    "Grapevine HardDisk Install",10,10
  100.     dc.b    "Version 1.0a",0
  101. GadgetText    dc.b    "  OK  ",0
  102.  
  103. AboutTitle    Dc.b    "",0
  104.     even
  105.     
  106. FR_Title    dc.b    "Save Data",0
  107. FR_Filename    dc.b    "GVfile01.txt",0
  108.     ds.b    108
  109.     even
  110.  
  111.     *-----------------------------------------------------------*
  112.  
  113. AboutValues    dc.l    0
  114.  
  115.     *-----------------------------------------------------------*
  116.  
  117. AboutTagList
  118.     Dc.l    RT_ReqPos
  119.     Dc.l    REQPOS_CENTERSCR    
  120.  
  121.     Dc.l    RTEZ_ReqTitle
  122.     Dc.l    AboutTitle
  123.  
  124.     Dc.l    RTEZ_Flags
  125.     DC.l    EZREQF_CENTERTEXT
  126.  
  127.     DC.l    TAG_END
  128.  
  129.     *-----------------------------------------------------------*
  130.  
  131. FReqTagList
  132.  
  133.     Dc.l    RT_ReqPos
  134.     Dc.l    REQPOS_CENTERSCR    
  135.  
  136.     dc.l    RTFI_Dir
  137.     dc.l    reqdir
  138.     
  139.     dc.l    RTFI_MatchPat
  140.     dc.l    reqpat
  141.     
  142.  
  143.     dc.l    RTFI_Flags
  144.     dc.l    FREQF_PATGAD+FREQF_SAVE
  145.  
  146.     dc.l    TAG_END
  147.  
  148.     *-----------------------------------------------------------*
  149.  
  150. ReqFileStructPtr    Dc.l    0
  151. ReqInfoStructPtr    Dc.l    0
  152.  
  153.     *-----------------------------------------------------------*
  154.  
  155. _DOSBase        Dc.l    0
  156. _ReqBase        Dc.l    0
  157. _IntuitionBase    Dc.l    0
  158.  
  159. DosName    DOSNAME
  160. IntName    INTNAME
  161. ReqName    Dc.b    "reqtools.library",0
  162.     Even
  163.  
  164. reqdir:    dc.b    "Dh0:",0
  165. reqpat:    dc.b    "*",0
  166.     
  167.     *-----------------------------------------------------------*
  168.     
  169.     end
  170.  
  171.